﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DTS
{
    class Spolka : IEquatable<Spolka>

    {
        // ATTRIBUTES
        private String symbol;
        private String pelnaNazwa;
        private Double freeFloat;
        private long liczbaAkcji;
        private Double kapitalizacja;
        private String sektor;

        // CONSTRUCTORS
        public Spolka() { }
        public Spolka(string _symbol, string _pelnaNazwa, long _liczbaAkcji, Double _kapitalizacja, string _sektor, Double _freeFloat)
        {
            symbol = _symbol;
            pelnaNazwa = _pelnaNazwa;
            kapitalizacja = _kapitalizacja;
            liczbaAkcji = _liczbaAkcji;
            sektor = _sektor;
            freeFloat = _freeFloat;
        }    
        
        // METHODS
        public String GetSymbol()
        {
            return symbol;
        }
        public String GetPelnaNazwa()
        {
            return pelnaNazwa;
        }
        public Double GetFreeFloat()
        {
            return freeFloat;
        }
        public long GetLiczbaAkcji()
        {
            return liczbaAkcji;
        }
        public Double GetKapitalizacja()
        {
            return kapitalizacja;
        }
        public String GetSektor()
        {
            return sektor;
        }

        public void SetSymbol(String _symbol)
        {
            symbol = _symbol;
        }
        public void SetPelnaNazwa(String _pelnaNazwa)
        {
            pelnaNazwa = _pelnaNazwa;
        }
        public void SetFreeFloat(Double _freeFloat)
        {
            freeFloat = _freeFloat;
        }
        public void SetLiczbaAkcji(long _liczbaAkcji)
        {
            liczbaAkcji = _liczbaAkcji;
        }
        public void SetKapitalizacja(Double _kapitalizacja)
        {
            kapitalizacja = _kapitalizacja;
        }
        public void SetSektor(String _sektor)
        {
            sektor = _sektor;
        }
        override public string ToString()
        {
            string s = "";
            s += symbol.ToString();
            s += " " + pelnaNazwa.ToString();
            s += " " + liczbaAkcji.ToString();
            s += " " + kapitalizacja.ToString();
            s += " " + sektor.ToString();
            s += " " + freeFloat.ToString();
            return s;
        }
        public bool Equals(Spolka other)
        {
            //Check whether the compared object is null.
            if (Object.ReferenceEquals(other, null)) return false;
            //Check whether the compared object references the same data.
            if (Object.ReferenceEquals(this, other)) return true;
            //Check whether the products' properties are equal.
            return symbol.Equals(other.GetSymbol());
        }

        
    }
}
